package com.bwsoft.domain;

import java.io.Serializable;
import java.util.Date;
import java.util.Set;

public class Fun implements Serializable {
	private static final long serialVersionUID = 8367661878249126301L;
	/**
	 * 功能编号
	 */
	private Integer funID;
	/**
	 * 功能名称
	 */
	private String funName;
	/**
	 * 功能图标<br>
	 * ace系统用，以后可能用ExtJS,或者EasyUI就看情况
	 */
	private String funIcon;
	/**
	 * 功能路径
	 */
	private String funUrl;
	/**
	 * 父节点<br>
	 * 一级菜单为0
	 */
	private Integer parentFunID;
	/**
	 * 顺序编号
	 */
	private Integer orderNum;
	/**
	 * 级别菜单
	 */
	private Integer levelNum;
	/**
	 * 是否是菜单
	 */
	private Boolean menuFlag;
	/**
	 * 是否删除
	 */
	private Boolean delFlag;
	/**
	 * 描述
	 */
	private String description;
	/**
	 * 添加时间
	 */
	private Date addTime;

	/**
	 * 1：代表用户自己的菜单 用户组编号：代表对应的用户组
	 */
	private Integer type;

	private Set<UserGroup> userGroups;
	private Set<User> users;

	public Fun() {
	};

	public Fun(String funName, String funIcon, String funUrl, Integer parentFunID, Integer orderNum, Integer levelNum, Boolean menuFlag, Boolean delFlag, String description, Date addTime) {
		super();
		this.funName = funName;
		this.funIcon = funIcon;
		this.funUrl = funUrl;
		this.parentFunID = parentFunID;
		this.orderNum = orderNum;
		this.levelNum = levelNum;
		this.menuFlag = menuFlag;
		this.delFlag = delFlag;
		this.description = description;
		this.addTime = addTime;
	}

	public Integer getFunID() {
		return funID;
	}

	public void setFunID(Integer funID) {
		this.funID = funID;
	}

	public String getFunName() {
		return funName;
	}

	public void setFunName(String funName) {
		this.funName = funName;
	}

	public String getFunIcon() {
		return funIcon;
	}

	public void setFunIcon(String funIcon) {
		this.funIcon = funIcon;
	}

	public String getFunUrl() {
		return funUrl;
	}

	public void setFunUrl(String funUrl) {
		this.funUrl = funUrl;
	}

	public Integer getParentFunID() {
		return parentFunID;
	}

	public void setParentFunID(Integer parentFunID) {
		this.parentFunID = parentFunID;
	}

	public Integer getOrderNum() {
		return orderNum;
	}

	public void setOrderNum(Integer orderNum) {
		this.orderNum = orderNum;
	}

	public Integer getLevelNum() {
		return levelNum;
	}

	public void setLevelNum(Integer levelNum) {
		this.levelNum = levelNum;
	}

	public Boolean getMenuFlag() {
		return menuFlag;
	}

	public void setMenuFlag(Boolean menuFlag) {
		this.menuFlag = menuFlag;
	}

	public Boolean getDelFlag() {
		return delFlag;
	}

	public void setDelFlag(Boolean delFlag) {
		this.delFlag = delFlag;
	}

	public String getDescription() {
		return description;
	}

	public void setDescription(String description) {
		this.description = description;
	}

	public Date getAddTime() {
		return addTime;
	}

	public void setAddTime(Date addTime) {
		this.addTime = addTime;
	}

	public Integer getType() {
		return type;
	}

	public void setType(Integer type) {
		this.type = type;
	}

	public Set<UserGroup> getUserGroups() {
		return userGroups;
	}

	public void setUserGroups(Set<UserGroup> userGroups) {
		this.userGroups = userGroups;
	}

	public Set<User> getUsers() {
		return users;
	}

	public void setUsers(Set<User> users) {
		this.users = users;
	}

}
